home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Ian & Stuart's Australian Mac: Not for Sale
/
Another.not.for.sale (Australia).iso
/
Dr. Doyle
/
Software Patents
< prev
next >
Wrap
Internet Message Format
|
1994-01-31
|
90KB
Received: from wattle.itd.adelaide.edu.au by alink-gw.apple.com with SMTP (921113.SGI.UNSUPPORTED_PROTOTYPE/7-Oct-1993-eef)
id AA23642; Thu, 27 Jan 94 22:36:12 -0800
for aust.dev
Received: by wattle.itd.adelaide.edu.au (5.61+IDA+MU/UA-5.26)
id AA27935; Fri, 28 Jan 1994 17:07:19 +1030
From: Ross Williams <ross@guest.adelaide.edu.au>
Message-Id: <9401280637.AA27935@wattle.itd.adelaide.edu.au>
Subject: Something that might be of interest to developers.
To: aust.dev@applelink.apple.com (Apple Developer Association)
Date: Fri, 28 Jan 1994 17:07:18 +1030 (CST)
X-Mailer: ELM [version 2.4 PL3]
Mime-Version: 1.0
Content-Type: text/plain; charset=US-ASCII
Content-Length: 89067
Allan,
The US Patent Office is holding hearings into the problems that have
arisen with software patents. Gordon Irlam (of Sun Microsystems) and
myself have prepared a paper on the topic, which may be of interest to
Apple Developers.
Ross.
+--------------------------------------------------------------+
| Name : Dr Ross N. Williams |
| Company : RockSoft Pty Ltd (Reg TM Australia, TM USA) |
| Net : ross@guest.adelaide.edu.au. |
| Fax : +61 8 373-4911 24 hours |
| Phone : +61 8 379-9217 24 hours |
| Snail : 16 Lerwick Avenue, Hazelwood Park 5066, Australia |
| Archive : ftp.adelaide.edu.au/pub/compression and /funnelweb |
+--------------------------------------------------------------+
SOFTWARE PATENTS: AN INDUSTRY AT RISK
=====================================
SUBMISSION:
By The League for Programming Freedom
To The Patent and Trademark Office
On Patent Protection for Software-Related Inventions
(by Gordon Irlam and Ross Williams)
ABSTRACT: Software patents pose a serious threat to the software
industry. The League for Programming Freedom comprises over 600
individual software developers, business people, professors, students,
and computer users concerned about this threat. The League favors the
introduction of legislation to eliminate the threat posed by software
patents.
CAVEAT: Most companies are now being forced to apply for software
patents for defensive purposes. The League does not advocate that
such companies cease applying for such patents; nor does it advocate
that they unilaterally dismantle their software patent portfolios.
NOTE: This document is large because it contains many appendices
containing supporting material. The main text can be read in less
than twenty minutes.
TABLE OF CONTENTS
=================
1. THE THREAT POSED BY SOFTWARE PATENTS
2. WHAT MAKES SOFTWARE DIFFERENT?
2.1 Software is More Complicated
2.2 Software is More Abstract
2.3 Software Technology Evolves Rapidly
2.4 Software Doesn't Wear Out
2.5 Software has Different Economics
2.6 Software is Successful Because of Market-Driven Properties
3. THE PROBLEM OF SOFTWARE PATENTS
3.1 Problems Developing Software
3.2 Problems in the Courts
3.3 Problems in the Patent Office
4. THE EFFECT OF SOFTWARE PATENTS
4.1 Current Corporate Behavior
4.2 Patents as a Selection Effect in Corporate Evolution
4.3 The Future
4.4 A Question of Economics
5. OPTIONS FOR THE GOVERNMENT
5.1 Options
5.2 An Invitation
APPENDIX A: WHAT IS A PATENT?
APPENDIX B: EXAMPLES OF SOFTWARE PATENTS
B.1 Word Processors
B.2 Spreadsheets
B.3 Operating Systems
B.4 Compilers
B.5 Miscellaneous
APPENDIX C: EXAMPLES OF SOFTWARE PATENT DISPUTES
APPENDIX D: NEGATIVE CORRELATION OF INNOVATION AND SOFTWARE PATENTS
APPENDIX E: OPPOSITION TO SOFTWARE PATENTS
APPENDIX F: ORACLE'S POLICY ON SOFTWARE PATENTS
APPENDIX G: MITCH KAPOR'S CONGRESSIONAL TESTIMONY
APPENDIX H: ABOUT THE LEAGUE FOR PROGRAMMING FREEDOM
APPENDIX I: ABOUT THIS DOCUMENT
1. THE THREAT POSED BY SOFTWARE PATENTS
=======================================
We can best illustrate some of the problems that software patents
cause, through the use of an imaginative scenario written in the style
of the well-known computer exploration game "Adventure":
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Welcome to Patent Adventure V3.4. - All Rights Reserved 1994.
-------------------------------------------------------------------
You are the CEO of AcmeSoft - a fairly successful software company.
You are at your desk. Suddenly the fax machine rumbles...
Command> READ FAX
It's from SharkTech! They're claiming that your company's product
"Acme Professional" violates their software patent "Distinguishing
Nested Structures by Color". They want 1% of your wholesale price
in royalties.
Command> GIVE ROYALTIES
Now they want 5%.
Command> GIVE ROYALTIES
That satisfied them. Hmmm, the fax machine is humming again.
It's from ParaTech! They're claiming your company's product "Acme
Professional" assigns clients to whichever server process is least
busy, and as a result want 3% of your wholesale price in
royalties.
Command> IGNORE THEM
ParaTech have decided to take you to court. Do you want to settle
for 10%, pay $800,000 in legal fees, or circumvent the patent?
Command> CIRCUMVENT
Your programmers say they can't circumvent the patent without
hurting performance --- causing you to lose you 30% of your
customer base. Do you want to circumvent?
Command> CIRCUMVENT
You've lost 30% of your customers! The fax machine is going
again. This time it's from MeanTech. They're claiming your
company's product "Acme Professional" violates their software
patent on storing document images on a CD ROM along with an
automatically generated index, and because they are a competitor,
they do not want a royalty. They want you to remove the violating
code or stop shipping the product. What do you wish to do:
1) Ship 400 floppy disks instead of one CD ROM.
2) Go to court.
3) Stop shipping the product.
COMMAND> GO TO COURT
Legal fees are $600,000. Current funds are $400,000.
You've gone broke!
Do you want to play Patent Adventure again?> DEFINITELY NOT
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
While the above scenario is fictional, it is far closer to the current
situation than many in the software industry realize. In reality:
* IBM holds patent #4,965,765 which covers the use of different
colors to distinguish the nesting level of nested expressions.
* Patent #5,249,290 covers assignment of client requests to the
server process having the least load.
* Patent #4,941,125 covers using a digital camera in conjunction
with character recognition software to store and index documents
on a CD ROM.
* And IBM really does charge small companies 1% of royalties to
license a single software patent, and 5% for its entire portfolio.
The software patent system is clearly out of control and if not caught
soon will change the face of the software industry forever. Two
thousand new software patents are granted each year. They are being
granted on software technologies as diverse and mundane as file
servers and wordprocessors. It is already dangerous to create
products containing data compression or public key encryption, and
recently major inroads were made in the field of multimedia. Here are
some more examples to help give you a feel for the scope of the
problem:
* A spreadsheet in which each cell has a "next cell" attribute
defining the next cell to advance to after having entering data
into the current cell. [#5,121,499].
* A spreadsheet in which a single cell can contain multiple
(possibly optional) fields. [#5,247,611].
* A word processor that has a feature that allows you to specify
that a portion of the text should be shaded - such as may be
useful when revising a manual - by enclosing the relevant text
within commands that turn shading on and off. [#4,924,411].
* Use of a host independent network byte ordering. [#4,956,809].
* A parallelizing compiler that estimates the execution time for
each of a number of different parallelization conversions and then
selects the one that it thinks will be the fastest. [#5,151,991].
* Simulating the access times associated with a CD ROM by slowing
down a hard disk. [#5,121,492].
These are just a few of hundreds of software patents that pose a
critical threat to all software developers, large and small. Many
more examples are contained in Appendix C. The fact that these
patents all cover trivial ideas is significant, but not the only
reason for the difficulties. In this document, we argue that the
nature of the software industry makes it an inappropriate subject for
the granting of patents.
2. WHAT MAKES SOFTWARE DIFFERENT?
=================================
The patent system has served us for more than 200 years. (See
Appendix A for a brief explanation of the patent system). Over the
years, the patent system has adapted to all sorts of emerging
technologies. So why is it failing now?
The reason is that software isn't just something new. Software is
something fundamentally different. Abstract and slippery, it doesn't
conform to the ordinary constraints of the real world of objects. The
nature of software has created not only a different kind of
intellectual challenge, but a different kind of industry with its own
particular economic structure. To this is being applied a 200 year
old patent system. The following section describe the special
properties of software that make the application of the patent system
inappropriate.
2.1 Software is More Complicated
--------------------------------
At the top of the list is the complexity of software. Because
software is largely free from physical constraints, complexity has
grown to the current state where a single large computer program
cannot be completely understood by any one person. As the highly
acclaimed computer scientist E. W. Dijkstra has stated:
In computer programming our basic building block, the instruction,
takes less than a microsecond, but our program may require hours
of computation time. I do not know of any other technology than
programming that is invited to cover a grain ratio of 10^10 or
more. The automatic computer, by virtue of its fantastic speed,
was the first to provide an environment with enough `room' for
highly hierarchical artifacts. And in this respect, the challenge
of the programming task is without precedent.
--- E. W. Dijkstra, A Discipline of Programming, 1976.
This capacity for complexity is a great strength because it permits
the creation of highly sophisticated products. But it also means that
most products, simply by their very complexity, are dependent on a
vast range of software technologies.
In most other industries, a product will contain perhaps twenty parts.
In the case of sophisticated consumer goods, such as video cameras, we
could raise this to 1000 parts. Nevertheless, the constraints of the
real world ensure that the complexity of the product cannot become too
great. Software, however, is essentially free from these constraints.
A major computer program can comprise anywhere from 100,000 to 10
million lines of code. In most other industries a product will
involve technologies covered by just a few patents. In the software
industry, a product can contain thousands of inventions, any of which
might be patented.
For instance, even when buying something as mundane as a word
processor, you might be able to choose between a word processor with
built-in spelling checker, ability to format multi-column text, and an
outline editor; a word processor with proportional fonts, an equation
editor, and kanji capabilities; and a word processor that has style
sheets, a page previewer, and document interchange facilities. And
this is only the start. When you look closely you will find that each
word processor actually incorporates thousands of different user
visible features. Tens of thousands more features exist inside that
are visible only by a programmer. The total number of features
contained in something as simple as a word processor is enormous.
Thus, patents make the legal risks and expenses associated with
developing even well understood software frightening.
2.2 Software is More Abstract
-----------------------------
While software's complexity makes a typical computer program dependent
on many different software technologies, software's abstraction makes
it difficult to partition these technologies.
In most industries patent searches are fairly easy to perform and
provide fairly solid results. Patents are typically targeted at a
particular product in a particular industry, and as such can be
readily classified. For example, a typical patent title might be
"Method for increasing grain throughput in a combine harvester by
means of an air-forced hopper".
In contrast, the nature of software means that much of it is very
abstract. As a consequence, software patents are often abstract even
though their titles can sound specific. For example, patent
#5,175,857, "System for Sorting Records Having Sorted Strings Each
Having a Plurality of Linked Elements Each Element Storing Next Record
Address" has a rather specific-sounding title, but is in fact a rather
broad patent covering a well-known algorithm called "Quicksort" when
implemented using a linked list. Sorting is a fundamental building
block of software, and its implementation using linked lists could be
performed by any programmer working in any area of software
development --- without the programmer even being conscious he had
accidentally "invented" anything. The "Quicksort" algorithm and
linked lists both appear in one form or another in many undergraduate
Computer Science textbooks.
The complexity of software means that it is dependent on many
technologies. The abstraction of software means that it is hard to
classify these technologies, so there is a combinatorial explosion of
potential patent coverage which removes any kind of certainty about
what is patented and what is not. The result is that:
* Software patents are expensive to search.
* Software patents are expensive to analyze.
* Software patents are expensive to fight over in court.
In short, because of their broad coverage and complexity, software
patents introduce far more uncertainty than do their non-software
cousins. And uncertainty is bad for business. Uncertainty makes it
difficult to decide the best strategy to pursue. Which patents might
you be in violation of? Will the patent owners take any action? What
royalties will they request? Will they sue? Will you be able to get
the patent overturned? What damages might be awarded?
These are not questions that can be incorporated into the smooth
everyday running of a business. They are not questions comparable
with concerns about tuning advertising or production inefficiencies.
Rather these are issues that can kill products stone dead and destroy
companies.
The penalties for patent infringement can be severe. The most famous
case was Polaroid v. Kodak in which damages amounted to $900 million -
with a further $500 million reportedly being spent by Kodak buying
cameras back from consumers. More recently:
... a US District Court jury in California awarded $1.2 billion in
damages based on the company's claim that Honeywell, which
developed the first laser gyros in the 1960s, had subsequently and
"willfully" appropriated a special process Litton patented in 1978
for coating the instruments' high-precision mirrors.
--- Photonics Spectra, October 1993.
2.3 Software Technology Evolves Rapidly
---------------------------------------
As if complexity and abstraction were not enough, the software
industry is developing much faster than other industries --- even the
computer hardware industry. Conventional industries typically produce
a new generation of products every ten to twenty years. This has been
reduced in recent decades thanks to "lean production" and "time-based
competition", but even so the rate of product generational change in
the software industry is far higher than that of other industries.
The presence of patents that last for 17 years is therefore extremely
alarming. Think back 17 years. Graphical user interfaces were
virtually unknown. Desktop publishing didn't exist. MSDOS didn't
exist. Neither did PCs and Macintoshes. With microprocessors
doubling in speed every 2 years, this qualitative change in the nature
of software is likely to continue. Compare this rate of progress to
that of other industries such as the aircraft industry. In software,
17 years is a very long time. The existence of patents 17 years ago
on what might then have seemed non-obvious or esoteric technologies
would be extremely damaging today. Likewise, much of what may be
considered non-obvious today, will be seen as being fundamental and
obvious tomorrow.
One consequence of this rapid change is that research is galloping
ahead of development. Most industries could be considered to be
"waiting" for new ideas. In most industries it costs more money to
come up with and evaluate suitable ideas than it does to bring them to
market. In contrast, the software industry is completely overloaded
with new ideas and innovations. In software, the costs are reversed:
it's easy to come up with new ideas, but very difficult to develop
products. The idea behind most software patents can be coded in just
20 lines of code, but any program incorporating that idea - along with
many others - will be a thousand times larger. It is the writing of a
program that takes all the time, not coming up with ideas. The result
is that the software industry is awash with innovation and it will
take many many years for the industry to catch up, if ever.
This rapid rate of evolution means that those who are investing time
creating and lodging patents are vastly outpacing those who are
investing effort bringing such ideas to market. By the time an
immature technology develops to the point where it can be incorporated
into products, it has a dozen or more patents on it that render it
commercially intractable.
The consequence of all this is that it is now difficult or impossible
to produce new products in the software industry without violating
numerous patents. The uncertainty that this introduces into the
product development process has to be seen to be believed. The sight
of personnel of massive software companies scrambling to rework their
software so as to circumvent patents on trivial ideas that were in use
twenty years ago, but not documented because they were too obvious, is
now a sad reality.
2.4 Software Doesn't Wear Out
-----------------------------
A traditional argument for patents in general is that they encourage
innovation in fields that have stagnated. Experience shows that most
major industries go through a "sunrise" phase of rapid growth during
which the first 80% of good ideas are discovered and incorporated into
products. Finding these good ideas is usually easy in these early
stages, and even some exponents of patents accept that patents may
retard an industry during this first phase of chaotic growth.
However, they argue that once an industry matures, good ideas are
harder to find, and there is a tendency for mature industries to
operate complacently (and non-innovatively), merely satisfying their
customers' need to replace products that have worn out. There may be
scope for innovation, but it might require too high a capital
investment in research to be tempting. In mature industries, it is
argued, patents encourage innovation by rewarding capital investment
in research with a monopoly in the market for the results of the
research.
However, this argument doesn't apply to software because software
doesn't wear out. A computer program that is fully debugged will
perform its function forever without requiring maintenance or
modification. What this means is that unlike socks that wear out, and
breakfast cereal that is eaten, a particular software product can be
sold to a particular customer at most once. If it is to be sold to
that customer again, it must be enhanced with new features and
functionality.
The inevitable conclusion is that, even if the software industry
approaches maturity, any software company that does not produce new
and innovative products will simply run out of customers! Thus, the
industry will remain innovative whether or not software patents exist.
The need for a patent system to encourage innovation in mature
industries doesn't apply to the software industry. A mature software
industry is not going to gain any benefits from the patent system.
And even exponents of software patents, such as Paul Heckel, admit
that during the early stages software patents will retard the
industry.
2.5 Software has Different Economics
------------------------------------
Previous sections have shown that software patents, at the very least,
introduce considerable uncertainty and impose a significant business
overhead. This would not matter so much if the software industry
naturally provided a financial infrastructure that could support a
patent system. Software is not the only complex product around: a
jumbo jet probably incorporates over 100,000 different parts, many of
which will be covered by patents. However, in all such industries the
physicality of the parts, and the cost of their mass production, means
that their cost dwarfs the legal overheads. A typical jumbo jet part
(e.g. a small panel) might cost $100 to manufacture. A typical
software component (e.g. a line of code) deployed in a mass market
application costs approximately $0.00001 to manufacture.
To see the effect of the patent system on the economics of the
software industry, let us model the product cycle in three stages:
research, development, and production. The cost of each stage in
relation to a product's total cost varies by industry:
Research Development Production
-------- ----------- ----------
Pharmaceuticals Medium High Low to Medium
Automobiles Medium Medium Huge
Aircraft Medium High High
Software Tiny Huge Low
Software has a very low research cost because development has not been
able to keep up with research, and there are thousands of ideas just
waiting to be exploited. Also, a core idea often requires just a few
lines of code to implement.
Software has a high development cost because it takes a lot of human
effort to write production-quality software. An important aspect of
the software development cost is that it mostly consists of people's
time. This means that somebody with nothing but a computer and a lot
of time on his hands can develop software even though they do not have
a lot of capital. Thus, while development is expensive, it is still
accessible to the individual - at least for small products.
Depending on how much support is provided, software production costs
are low. Each product consists of just a few floppy disks at $0.50
each and a manual which can be printed for less than $5. Typically
software sells for in excess of $100.
Now consider the impact of the patent system on these various
industries. The cost of patents is proportional to the development
cost because it is the amount of stuff that you actually put in your
product that determines how many different patents may be involved.
In other industries, production costs dwarf development costs, and so
the overhead of the patent system (on the development cost) is a minor
component in the entire enterprise. However, in software the entire
cost is development, and so the patent system represents an enormous
cost to the industry. The auto industry would scream if the
government affected production margins by just 1%. The software
industry is being progressively slugged with what will be a far
greater impediment, but so far has not reacted to the threat
coherently.
The effect on large companies is that they will have to incorporate
the patent process into their software development process, set up
bulky legal divisions, get into the business of cultivating defensive
patent suites, and perpetually negotiate royalty payments and settle
lawsuits. For most big companies that focus on developing software,
such action will for a time allow them to survive, for with enough
broad and trivial patents in their suite they can threaten virtually
anyone who threatens them. But they will also probably encounter
companies THAT DO NOT DEVELOP SOFTWARE; that are demanding royalties
with the gloves off! Because such companies have a distinct advantage
when negotiating royalty licenses, it is likely that corporate
evolutionary selection pressures will make them more numerous in the
future.
Big companies will also experience difficulties with small companies
that decide to use broad, but trivial, patents to defend market niches
against legitimate competitors. A recent example is Stac Electronics,
a small company making data compression software, who apparently
bought a software patent from Ferranti in England so that they could
prevent Microsoft from including a data compression feature
"Doublespace" in MSDOS V6.0. This lawsuit was launched over a year
ago, is still going, and has cost both sides huge amounts of money.
The effect of software patents on large companies is bad enough, but
to a small company it can be crippling. Large companies may already
have a legal infrastructure, but most small companies must rely on the
advice of external professionals who charge what seem high rates.
Large companies may for a time be able to accept patent lawsuits in
their stride, but small companies can be wiped out by a single one -
fair or not.
For many small companies, the prospect of being sued over a patent
infringement EVEN IF THE CASE IS UNGROUNDED AND WOULD ULTIMATELY FAIL
is so terrifying, that many companies choose to give all patents they
know about a wide berth rather than risk the possibility of any kind
of patent challenge. Patents and patent laws are so complex that even
an ungrounded lawsuit may take a year to resolve, simply because it
may be hard to prove quickly that the other side does not have a case.
Meanwhile hundreds of thousands of dollars in legal fees will be
spent, crippling the target software company.
Thus, whereas most large pharmaceutical and aerospace companies can
afford to conduct ongoing patent battles to resolve the scope of
various patents, the small players of the software industry cannot.
As a result, they will attempt to steer well clear of patents, making
the patents even more powerful than they were ever intended to be.
In summary, the marginal cost to produce software is very low. The
value of that software in the marketplace is often very high.
Therefore, if sufficient volume is attained, profit margins will
also be very high. This is the main reason the software
industry is able to attract venture capital, and is a reflection of
the value the industry is delivering to society. Software patents, by
introducing uncertainty and requiring the payment of unavoidable
royalties, have the potential to destroy this leverage.
2.6 Software is Successful Because of Market-Driven Properties
--------------------------------------------------------------
As we have seen, the software industry has a surplus of new ideas and
technologies. What happens to them all? Well, of course, eventually
they appear in products. However, because of the complexity of the
products, the process by which this happens is more involved than in
other industries. Typically, the technology is so complicated that
bringing it to market as a simple, workable product is a greater
challenge than performing research to create the enabling technology.
Because of this, today's successful software companies have become
successful largely because they are market driven, rather than
technology driven companies. These companies didn't build software
because they thought it would be fun to build something no-one else
had built before; rather they set out to build products that would
meet the real needs of the market place. As Oracle Corporation
clearly states:
Whether a software program is a good one does not generally depend
as much on the newness of a specific technique, but instead
depends on the unique combination of known algorithms and methods.
Patents should not protect such methods of innovation.
--- Oracle Corporation Policy on Software Patents (See Appendix F).
Borland didn't invent compilers. Microsoft didn't invent operating
systems. Novell didn't invent networking. Sun didn't invent Unix.
Apple didn't invent the graphical user interface. Oracle didn't
invent the database. It turns out that nearly all successful software
companies have concentrated on constructing better implementations of
already existing technologies. The market rewarded these companies
because they provided the market with what it wanted: products, not
ideas. These companies didn't have a horde of researchers working in
obscure fields in the hope that one of them would discover something
useful. In the software industry ideas are like air. The hard part
is deciding which ideas to choose. The focus of these companies was
on "doing it right" rather than on "doing it first" or "doing it
differently". By allowing other companies to monopolize new
technologies, patents strike at the very essence of the software
industry's business philosophy.
All of the above mentioned companies have relatively few software
patents (see Appendix D). Furthermore the patents they do hold tend
to have relatively narrow claims. For instance something like
"enhanced error recovery in a network file system cache" rather than
"image storage and retrieval system". This is a result of their focus
on developing the right product at the right time, rather than on
trying to be the first to leap into every new technology.
Opportunities for mainstream software developers to obtain important
software patents will be somewhat limited. Most companies don't spend
their time thinking about what they can do that no one else has done
before, but on which techniques to turn into products. Software
patents will hurt successful companies because they will prevent them
from doing what they do best: bringing technology to market, not
because it is new, but because the time is right.
In summary, it is easy to be the first to develop a new software
technology (such as desktop video). The hard part is to transform
that technology into a useful product that solves a real customer
need. By rewarding research companies rather than development
companies, software patents harm an industry whose value is largely a
result of development.
2.7 Conclusions
---------------
The software industry is significantly different from other industries
that are subject to the patent system:
* Software is More Complicated.
* Software is More Abstract.
* Software Technology Evolves Rapidly.
* Software Doesn't Wear Out.
* Software has Different Economics.
* Software is Successful Because of Market-Driven Properties.
These differences make application of the patent system at best
ineffective, and at worst potentially disastrous. The complex nature
of software patents, their abstraction and broad scope, their
excessive longevity, and their capacity for detrimental economic
transformation, make software patents a potentially paralyzing problem
for the software industry.
3. THE PROBLEM OF SOFTWARE PATENTS
==================================
3.1 Problems Developing Software
--------------------------------
As a result of software patents, many areas of software development
are simply becoming out of bounds. A good example is the field of
text data compression. There are now so many patents in this field
that it is virtually impossible to create a data compression algorithm
that does not infringe at least one of the patents. It is possible
that such a patent-free algorithm exists, but it would take a team of
patent attorneys weeks to establish this fact, and in the end, any of
the relevant patent holders would be able to launch a crippling unfair
lawsuit anyway. For the small company, even tiptoeing through the
minefield is not good enough. The mines do not need to go off to be
damaging.
A similar situation probably exists for most other relatively new
fields of software development: neural networks, hypertext, public key
encryption, pen based computing, multimedia, "groupware", and so on.
This pattern is set to continue. Until they are eliminated, software
patents will likely jam up development of all future new areas of
software technology.
3.2 Problems in the Courts
--------------------------
I'm not familiar with any type of litigation that is any more
costly than patent litigation.
--- R. Duff Thompson, VP and General Counsel, WordPerfect.
Numerous software companies now find themselves facing threats or
lawsuits relating to software patents. Indeed a large software
company might face perhaps 5 or 10 such threats at any one time. As
with most other legal matters, there is a tendency to try and keep
such matters quiet, but occasionally they do spill over into public
view. Examples of some known software patent disputes are contained
in an Appendix C.
IBM has an extremely large software patent portfolio. Very little is
known about how much different organizations have to pay to license
it, but a large software company should probably be prepared to budget
somewhere around $10 million per year. A small software company may
need to budget anywhere up to 5% of gross revenues.
In addition to the threat from large companies, there is also the risk
of threats from "independent inventors". Take Roger E. Billings,
founder and first graduate of his own "International Academy of
Science":
Novell Inc. is bracing for a battle that could be fiercer that
anything the company has faced in the network software market.
This battle will be in the courts, where both Novell and one of
its largest customers will try to prove that a patent they are
charged with infringing is not valid.
In a suit filed in U.S. District Court, Northern California, last
December, Billings claims Novell's NetWare network operating
system infringes his patent when used for distributed computing.
Billings applied for the patent in February 1982, nearly a year
before NetWare hit the market; he won approval in 1987 after twice
being rejected by the U.S. Patent Office. Billings wants Novell
to fork over royalties representing 8% of total NetWare sales
through the trial date, or about $220 million.
--- Information Week, March 16, 1992.
The case is still in the courts. So far Billings has met with some
success. Billings claims his patent #4,714,989 is for the concept of
a "file server", however, the wording of the patent makes it difficult
to know exactly what it covers. Irrespective of the merits of this
case --- who invented what when --- just the possibility of 17 year
patents on enabling technologies such as this will have have a
chilling effect on both the software and hardware industries.
3.3 Problems in the Patent Office
---------------------------------
There are numerous problems in dealing with software patents within
the patent office:
* A lack of computing expertise.
* An inability to properly search for prior art.
* Difficulties in classifying software patents.
* An excessive period of pendency - typically 2 years. This time
period is unacceptably slow in comparison to the rate at which
software technology advances. Investment decisions are having
to be made in the presence of great uncertainty over whether a
competitor holds a key patent covering the technology being
considered.
Other problems that are sometimes blamed on the patent office, but are
not entirely its fault:
* The application of very low criteria for judging whether a
patent is non-obvious and novel.
* The 17 year patent term is totally inappropriate to software.
These problems are more properly problems that reflect problems in the
underlying legislation, or at least the way the courts have chosen to
interpret the legislation.
While problems in the patent office may be interesting to talk about,
we feel that fundamentally it is a secondary issue. The real problem
with software patents has now become a legislative one. A legislative
approach is now called for to resolve it.
3.4 Conclusions
---------------
The software industry is significantly different from other
industries. As a result software patents are causing numerous
problems for the software industry:
* Problems Developing Software.
* Problems in the Courts.
* Problems in the Patent Office.
The problem of software patents is already having a direct effect on
the software industry. But this is only the start. If software
patents continue unchecked, the underlying structure of the software
industry is going to be significantly altered.
4. THE EFFECT OF SOFTWARE PATENTS
=================================
4.1 Current Corporate Behavior
------------------------------
"Lawyers are running around our industry asking people if they'd
like to patent something," said Ken Wasch, executive director of
the Software Publishers Association in Washington, D.C. "It's
gotten worse than ambulance chasing, and we don't think it's a
positive development."
--- Chicago Tribune, March 20, 1989.
Most large software companies are by now well aware of the threat that
software patents can pose to their business interests, and as a method
of protection are attempting to build up "defensive" patent portfolios
that can be cross-licensed with other large corporations.
This provides protection against other large companies, but there
seems little possibility for any sort of guaranteed protection against
people like Roger Billings, who are probably not interested in signing
a cross-licensing agreement. Against such people the future of these
companies is very much at the mercy of the courts, and the amount of
damages that they choose to award.
For the small software company it obviously is not possible to build
up any sort of serious defensive portfolio. The small company has to
be prepared to pay whatever license fee the big company demands --- or
find a business other than developing software. It likewise needs to
be prepared for the possibility of a bloody fight against another
small competitor.
One anonymous vice president of a major software company crystalized
his corporation's dilemma and consequent decision to register software
patents, despite widespread unease within the company, by saying: "How
does a just man live in an unjust world?"
It is a common nostrum that patents "protect" small companies from
competition from bigger ones. In reality, it usually doesn't work
that way. Normally, the largest companies own most of the patents,
and use them to force other companies, both large and small, to
cross-license with them. Roger Smith, Assistant General Counsel for
IBM, explains how this works:
The IBM patent portfolio gains us the freedom to do what we need
to do through cross-licensing -- it gives us access to the
inventions of others that are the key to rapid innovation. Access
is far more valuable to IBM than the fees it receives from its
9,000 active patents. There's no direct calculation of this
value, but it's many times larger than the fee income, perhaps an
order of magnitude larger.
--- "Think" magazine, #5, 1990.
Thus, if a small company tries to use a patent to "protect" itself
against competition from IBM, IBM can usually find patents in its
collection which the small company is infringing, and thus obtain a
cross-license. Besides which, if you are a small company, do you
really want to try taking IBM to court?
The need to take out "defensive" patents is likely to be detrimental
to the overall profitability of the software industry. As shown in
Appendix C, there is a strong negative correlation between a company's
propensity to patent and its ability to bring to market innovative
software --- software that proves itself capable of filling a real
customer need.
4.2 Patents as a Selection Effect in Corporate Evolution
--------------------------------------------------------
Strong parallels can be drawn between the functioning of the market
and the notion of survival of the fittest from evolution theory. The
successful software company of today has succeeded because of its
ability to develop and bring innovative products to market. However,
software patents will make these traits far less desirable. The
desirable traits will be those embodied in IBM, Hitachi, and AT&T: an
ability to produce software patents without producing software
products. These traits will be rewarded. Some companies may be able
to adapt to these changes. Those that can't will become extinct.
To survive, software companies will need to de-emphasize developing
new products to solve real customer needs and emphasize activities
more likely to result in obtaining broad patents in newly emerging
fields.
Companies that choose to develop and market significant products
should expect and plan for suits alleging patent infringement. Having
a large patent portfolio will prevent threats from competitors, but
will only provide a limited defense against those that produce little
in the way of products.
The resulting changes in the make up of the software industry won't
happen overnight, but rather, over a period of perhaps ten years. A
large company that chooses to continue to concentrate on producing
only software will be able to keep doing so for quite a while.
Eventually, however, it will find most future areas of technology
restricted. Then, either as the result of a single calamitous award
for damages, or the cumulative costs of the patent system, it will
find it has become uncompetitive.
4.3 The Future
--------------
A vision of patents entrenched in the software industry is a vision of
stagnation. A vision of IBM once again calling the shots. A vision
of companies like Xerox and AT&T who have proven incapable of bringing
innovative products to market stealing profits from those companies
can.
Such a vision is particularly alarming to the successful software
company of today, the company that is skilled in building and bring
products to market. See Appendix E for a list of some of the
organizations and individuals that have voiced concern about the
threat to the software industry posed by software patents.
Those that have few or no products to sell are likely to pose a
serious threat to those that do.
An example of a successful software company of the future might be
Public Key Partners. Instead of building and marketing a real
product, it purchased the patent rights to a technology. It now
collects royalties from companies capable of integrating and marketing
products containing this technology.
Being property, patents can be bought and sold. Some companies
specialize in acquiring and litigating patents. Such companies
present another example of the software companies of the future.
Lastly we might see the software equivalent of Gilbert Hyatt. He
files very broad patents relating to some emerging technology,
contests the claims with the patent office for a significant period of
time, and when the patent finally issues, attempts to collect sizable
royalties for the next 17 years. See for example patent #4,942,516
originally filed in 1970, finally issued in 1990, and titled "Single
chip integrated circuit computer architecture":
North American Philips Corporation ... today announced the signing
of a license agreement for two portfolios of Hyatt's patents.
The Computer-Related Patent Portfolio covers technologies
including: fundamental single-chip microprocessor architecture;
dynamic random access (DRAM) chip memory refresh techniques;
intelligent keyboards for computers; techniques for creating
random access memory (RAM) pages or blocks (for memory management
purposes); computer-to-computer communication and serial
communication, such as in networks or automobiles; and, control of
machines by micro computers. In the case of the latter, machines
include disk drives, printer control in PCs; tape control in
camcorders and VCRs; and control of automobiles.
The LCD-Related Patent Portfolio covers technology including: LCD
television displays; projection LCDs; shades of intensity and
color for LCDs; high intensity illumination and thermal control
for projection LCDs; and other related inventions.
--- PR Newswire, November 6, 1991.
Perhaps disturbingly, such people often tend to be viewed in the media
and by juries, as being in some sense unsung heroes who have had their
inventions misappropriated by "evil corporations". (Ford was recently
ordered to pay $5 million dollars in damages to Robert Kearns for the
patent he has on the intermittent windshield wiper.)
4.4 A Question of Economics
---------------------------
Consider the following equation which every software developer now
faces. SOFTWARE PATENTS ARE HARMFUL TO YOU IF:
royalties profits gained royalties profits lost by legal and other
you + by impeding < you + being impeded + administrative
receive competitors pay by competitors' costs
with patents patents
For companies whose focus is on building and bringing innovative
software products to market the first and second of these five terms
will be relatively small. The third term will be quite large due to
the likes of IBM. It also has a large positive uncertainty because
some individuals with patents but with no product of their own
requiring cross-licensing may negotiate crippling royalty contracts.
The fourth term is not yet large, but as more and more fundamental
technologies are patented it will rise rapidly. Some areas of
technology, such as data compression, are already intractable. The
fifth term is relatively small for large companies, but a crippling
overhead for small developers whose entire capital outlay may be less
than $1 million. This last term consists entirely of destroyed
wealth.
4.5 Conclusions
---------------
The current problems in the software industry caused by software
patents are really just a symptom of what, if left unstopped, is going
to constitute a far more fundamental change. Resources are already
being diverted away from developing software and towards building up
defensive patent portfolios. However the overall influence of this in
changing the software industry will be relatively minor.
The major influence on the software industry will result from the
competitive disadvantage suffered by those firms that choose to build
software products to fulfill market needs, relative to those firms
that choose to de-emphasize direct product development in favor of
attempting to monopolize emerging software technologies.
A vision of the likes of Hitachi and IBM being in control of the
software industry is particularly disturbing to those companies that
are able to successfully build software products to meet customer
needs. In addition, the industry is likely to be haunted by firms and
individuals that produce little, but demand much.
On the flip side, of course, there are going to be benefits for those
who register particular software patents. But given the almost
non-existent amount of research required to develop a patentable
software idea, ownership of a software patent is more akin to winning
a minor (or major!) lottery than a reward for years of research.
Directing money towards these people will only be bad for the
industry.
If software patents continue to be issued, software development will
become expensive and dangerous, something like a trip through Jurassic
Park. Action must be taken soon if corporate dinosaurs from the past
are not to rule the earth again.
5. OPTIONS FOR THE GOVERNMENT
=============================
SOFTWARE IS DIFFERENT!
SOFTWARE PATENTS ARE CAUSING PROBLEMS!
SOFTWARE PATENTS WILL SIGNIFICANTLY HARM THE SOFTWARE INDUSTRY!
5.1 Options
-----------
So what are the options?
* MAKE NO CHANGES: This document shows why this would be
disastrous.
* MODIFY THE PATENT SYSTEM: Proposed modifications include:
* Tighten up the requirements for awarding software patents.
* Reduce the duration of software patents from 17 years to,
say, 3 years.
* Significantly reduce the period of pendency.
* Find a simpler way to determine if a piece of code
is affected by a patent.
* Improve patent indexing so that software patents can be more
easily searched.
* Publish patent applications as soon as they are received.
Ideally the patent system should be managed in a way similar to
the Federal Reserve: as a carefully monitored dynamically balanced
instrument of economic policy. This would involve using feedback
of the rate and cost of innovation within each industry to
determine the length of time for each patent. Unfortunately the
Patent Office is largely bereft of economic experience, the
economics of innovation are not well understood, and any changes
to the patent system that affect other industries are politically
infeasible.
* ABOLISH SOFTWARE PATENTS COMPLETELY: This is the option we
advocate. The industry thrived and prospered without software
patents. There is simply no real need for them.
* SET UP A NEW SYSTEM OF PATENTS TAILORED FOR SOFTWARE: This idea
has some merit. Some software ideas really do require a lot of
research to arrive at and some kind of system to protect them
could be a good thing. But the current system is completely
inappropriate.
* HAVE COPYRIGHTS AND PATENTS BE MUTUALLY EXCLUSIVE: This would
allow software to be copyrighted or patented, but not both at the
same time. It would be permissible in a copyrighted work to
freely make use of a patented invention only if no attempt was
made to patent any of the improvements made to that invention, or
to patent any other inventions contained in that product. This
would provide the software industry the freedom to choose the
system best suited to the development of software.
Despite the merits of some of these proposals, WE ADVOCATE THAT
SOFTWARE BE MADE EXPLICITLY NON-PATENTABLE.
Here's why:
* While in theory is may be possible to modify the current
software patent system to be fairer, it is unlikely that this will
be possible in practice. The Patent Office is a 200 year old
institution with its own culture and history. It has been forced
to apply the general patent system to software without being able
to compensate for the special nature of software and the software
industry. This has been evident particularly in the low threshold
of acceptable inventiveness, which while acceptable in other
industries, is a disaster for the software industry. Whether or
not an acceptable patent system can be constructed for software,
it remains true that the current patent system IS SO TOTALLY WRONG
when applied to software, that it is hard to imagine that it could
evolve into something acceptable. A total break with the past
seems the only solution.
* It is clear from the past. This solution works!
* Muddling about with vague proposals for alternative systems
constitutes a complicated solution to what is really a very simple
problem.
* Of all the thousands of software patents we have seen, the
number that might be able to truly justify patent protection could
be counted on one hand. From the simple perspective of numbers,
THE MOST DIRECT PATH TO THE BEST OUTCOME IS ABOLITION.
A secondary issue is what to do about existing and pending software
patents. If people have made decisions based on such patents, they
may need time to adjust. One possibility would be to reduce the
duration of these patents to, say, 3 years rather than 17 years, so as
to reflect the pace of the software industry. This would be an
acceptable outcome for everyone.
In the long run, past patents are a minor consideration. The growth
rate of software patents means that the number of existing patents
will eventually be dwarfed by the number filed in the future. The
important thing is to stop any more software patents from being
issued.
5.2 An Invitation
-----------------
The League for Programming Freedom is concerned about the threat
software patents pose to the future of the software industry.
The League will be happy to provide clarification of any aspect of its
testimony, or to provide any additional information that may be
requested of it relating to software patents.
The League would also be happy to meet with the Commissioner (or
nominee) to better discuss various aspects of the issues which it has
raised. Information on the League, including how to contact it, is
contained in Appendix H.
Lastly, the League realizes that the legislative changes it feels are
most appropriate to solve the problems associated with software
patents clearly fall outside the direct powers of the Commissioner.
However, the League feels that through contact and interaction with
the Commissioner it will best be in a position to assist the
legislature in formulating an appropriate solution to the problem.
The League looks forward to the possibility of being able to work with
the Commissioner on these matters.
APPENDIX A: WHAT IS A PATENT?
=============================
A patent is a monopoly right created by the government to a new
invention. It provides the holder the legal right to prevent others
from making, using, or selling the invention, or any product
containing the invention for a period of 17 years. The holder has to
go to court to enforce this right. Independent re-invention does not
constitute a defense against the charge of patent infringement.
Patent holders typically grant third parties license to use the
invention in return for an agreed license fee or royalty. Licensing a
patent does not automatically permit the licensee to produce the named
invention. Frequently an invention will be covered by several patents
and it is necessary to license each one.
A patent is obtainable by a third party for an improvement to an
already patented invention just as readily as on anything else.
The patent office interprets the notion of what constitutes an
invention very broadly. Important inventions and trivial applications
are equally patentable. There is a requirement that prohibits the
obtaining of a patent if:
... the subject matter taken as a whole would have been obvious at
the time the invention was made to a person having ordinary skill
in the art to which said subject matter pertains.
--- 35 USC 103.
However, this means exactly what it says: non-obvious. It does not
mean the invention has to be in some sense above the norm, or in any
way clever. The patent office takes the attitude that if something
has never been built before, then presumably, the invention is
non-obvious. This causes significant problems in the software
industry due to the rapid rate of technological change.
Brian Kahin, at Harvard's Kennedy School of Government, states that
the nature of what is considered to be an invention is "often at a
level of abstraction that is shocking to the uninitiated". This point
is central to any understanding of the workings and potential impact
of the patent system on the software industry.
Patents are quite different from Copyright. Copyright merely covers a
particular piece of writing. Patents cover the underlying idea. This
document is copyrighted. This prevents you from being able to change
or re-distribute this document in ways the original authors dislike.
If the authors were the first people to come up with the idea of
writing a document on software patents, and it was possible to patent
this idea, then they could prohibit you from writing and distributing
your own documents on the subject of software patents.
There are at least three important vantage points from which the
patent system may be considered:
* Law: as a matter of jurisprudence.
* Economics: as a public policy issue.
* Business: as a matter of financial self interest.
This document focuses on the direct business impact of patents, but
first here is a brief discussion of the other two.
Most people who deal with the patent system have some sort of legal
background. It is not surprising then that the legal technicalities
of the patent system gain the most study. For our purposes however
the precise legal details of the patent system are only of marginal
interest. Suffice to say patent legislation has a long history dating
back to the English Statute of Monopolies of 1623. The U.S.
constitution granted Congress the right to issue patents subject to
certain constraints.
The economic rationale for the patent system is that on account of the
appropriable nature of inventions it is necessary to grant patents so
as to provide an incentive to invent. Economists tend to be slightly
uneasy about the patent system on account of its ability to stifle
competition.
Taking a business point of view, all that really matters about the
patent system is the bottom line. Will the existence of fewer
patents increase or decrease your profit margins? This is a difficult
question to answer, but we believe that the patent system is
detrimental to much of the software industry. The reasons for this
are discussed in much more detail elsewhere.
While a few earlier examples can be found, essentially beginning in
the early 1980's and in response to court decisions, the patent office
started to grant patents on inventions that included software.
Different companies realized this at different times and started
submitting applications accordingly. It is fair to say that by 1990
most of the computing industry was well aware of this policy and had
at least started submitting software patent applications. Since it
typically takes 2-3 years for an application to be approved, it is
only relatively recently that the full effects of this policy are
becoming apparent.
Roughly, 2,000 software patents are issued each year. The total
number of software patents in existence is probably around 10,000.
As a technical point, the patent office maintains that algorithms per
se are not patentable. This is indeed the case, although for all
practical purposes algorithms may as well be. An algorithm in the
abstract is not considered patentable. However, an algorithm when used
to solve some particular problem is considered patentable. Thus the
"RSA algorithm" is not patentable, but "use of the RSA algorithm
to encrypt data" is patentable. If it turned out that you suddenly
decided you could use the RSA algorithm to produce a stream of random
numbers you would not be infringing the RSA patent. This is however a
very fanciful occurrence. For all practical purposes, such patents
can be considered patents on algorithms.
APPENDIX B: EXAMPLES OF SOFTWARE PATENTS
========================================
This appendix contains examples of currently existing software
patents. We have chosen software patents from a range of fields to
indicate their diversity and scope. Perhaps the most alarming aspect
of this list is that these examples do not represent the worst cases;
there are hundreds more patents that are as trivial and as broad in
scope as the ones listed here. For all practical purposes, no
invention is too trivial to be patented.
B.1 Word Processors
-------------------
* Any word processor with a separate mode that the user selects when
they wish to type in a mathematical formula. [#5,122,953].
* Any word processor screen layout that simultaneously displays the
global page heading/footing and the contents of the current page, and
permits you to edit either. [#4,984,162].
* Any word processor that has a feature that allows you to specify
that a portion of the text should be shaded - such as may be useful
when revising a manual - by enclosing the relevant text within
commands that turn shading on and off. [#4,924,411].
* A word processor which marks and makes correction to a document
using two additional different colors. [#5,021,972].
* A word processor that monitors the sequence of keys you type and
tries to teach you about new features. If it notices you doing a
particular sequence several times it will display information about a
simpler command sequence that may help you do what you want.
[#4,947,346].
* Use of different colors to distinguish the nesting level of nested
expressions in computer programs. [#4,965,765].
B.2 Spreadsheets
----------------
* Any spreadsheet that can automatically collapse rows that are
hierarchically subordinate to another row. [#5,255,356].
* Any spreadsheet in which a single cell can contain multiple
(possibly optional) fields. [#5,247,611].
* Any spreadsheet in which each cell has a "next cell" attribute
defining the next cell to advance to after having entering data into
the current cell. [#5,121,499].
B.3 Operating Systems
---------------------
* A file server that merges together multiple pending writes that
require updating the same meta-data. [#5,218,695].
* Remembering file access behavior and using it to control the amount
of read-ahead the next time the file is opened. [#5,257,370].
* Altering the working set of a process based upon its paging behavior
and how its paging behavior changes in response to changes in its
working set size. [#5,247,687].
* Creating variable size disk partitions comprising tracks residing on
multiple disks. [#5,129,088].
* Assigning a client request to a server process by examining all the
server processes not handling the maximum number of clients and then
assigning it to the server process currently servicing the fewest
clients. [#5,249,290].
B.4 Compilers
-------------
* Any parallelizing compiler that estimates the execution time for
each of a number of different parallelization conversions and then
selects the one that it thinks will be the fastest. [#5,151,991].
* Using condition code graph analysis in a CPU simulator to determine
whether it is necessary to simulate the generation of the condition
codes. [#4,951,195].
* Caching the most recent branch target code when simulating a
procedure return instruction. [#5,167,023].
B.5 Miscellaneous
-----------------
* Any document storage system that has a digital camera to scan in
documents documents, stores the documents on an optical disk, and uses
character recognition software to construct an index. [#4,941,125].
* Generation of random numbers by feeding the output of one random
number generator into the input of another random number generator.
[#5,251,165].
* The computer graphics representation of a surface using and array of
dots, rather than the more traditional wire frame model.
[#5,257,347].
* Quicksort implemented using a linked list of pointers to the objects
to be sorted. [#5,175,857].
* A calendar tool that includes a bar graph of the duration of each
meeting and a composite bar graph of all meetings. [#5,247,438].
* Simulating the access times associated with a CD ROM by slowing down
a hard disk. [#5,121,492].
APPENDIX C: EXAMPLES OF SOFTWARE PATENT DISPUTES
================================================
Most companies that are threatened over patent infringement probably
prefer to keep the matter quiet. Therefore the current direct impact
of patents on the software industry is not fully known. The following
examples probably heavily understate the true effect.
The biggest news at Comdex this year was the announcement of the
Compton's patent. Compton's, a spin off of Encyclopedia Britannica,
claim their patent covers multi-media searching. Their announcement
received a very hostile response from the press. Compton's had been
threatening everyone in the industry with a 3% license fee before the
Patent Office spontaneously decided to re-examine the patent. This
decision must have been a result of all the media attention the patent
was receiving. Other than that, there was nothing particularly
unusual about this patent. Hundreds more equally broad software
patents currently lie dormant in the Patent Office.
Lotus, Microsoft, and Ashton-Tate have all been sued by Refac, a
litigation company, for a patent it acquired, #4,398,249, that
contains a very broad claim covering "natural order recalculation"
used in spreadsheets. Fortunately the case got thrown out on a legal
technicality. The patent in question was filed in 1970, but wasn't
issued by the Patent Office until 1983.
Paul Heckel has threatened Apple and IBM over patent #4,736,308 which
he alleges is infringed by HyperCard and ToolBook respectively.
Cadtrak has collected large sums of money and successfully defended
patent #4,197,590 on the concept of an "xor cursor".
XyQuest was forced to remove features from the latest release of the
XyWrite word processor after being threatened by Productivity
Software. Attempts to license the features proved unsuccessful as
Productivity Software increased the fees every time XyQuest attempted
to reach agreement.
Mark Williams Company has harassed various software companies over
patent #4,956,809 on the (very fundamental) idea of a host independent
network byte ordering.
AT&T is finding itself free to start exercising its muscle. It first
threatened members of the MIT X consortium alleging that the X11
windowing system was in violation of patent #4,555,775 which it holds
on the concept of backing store. AT&T is now suing MCI for alleged
software patent infringement.
Novell is being sued for $220 million dollars by Roger Billings for
infringing his patent #4,714,989 on the concept of a file server.
The fields of cryptography and data compression are essentially off
limits to programmers on account of patents. Numerous companies have
been forced to obtain licenses from Public Key Partners, which in turn
purchased key patents from Stanford and MIT to create an outright
monopoly on public key cryptography. Unisys has threatened people
over a data compression algorithm that is also used in the popular
Unix "compress" program.
Microsoft is being sued by Stac Electronics as a result of Microsoft's
incorporation of transparent data compression in MSDOS 6.0. The main
patent involved is #5,049,881.
APPENDIX D: NEGATIVE CORRELATION OF INNOVATION AND SOFTWARE PATENTS
===================================================================
In what may be judged as either ironic or deeply disturbing, most
software patents are held by companies that history has proven, and
those within the computing industry judge, to be totally incapable of
delivering innovative software products to market:
Interestingly, approximately 12% of all software patents are owned
by IBM (roughly 1,000), and no other companies come close (the
importance of this being that Microsoft just paid $20,000,000 to
license IBM's software patents). Other American companies with
many software patents include ATT and the Bell Laboratories, Xerox
and DEC, while Hitachi has the most patents by a Japanese company
(roughly 450), along with Toshiba, Fujitsu, Fanuc, Sharp and
Mitsubishi.
--- Gregory Aharonian, Communications of the ACM, January 1993.
The following constitute our best estimates of the number of software
patents granted to various companies between 1990 and 1992 (the
results appear similar to the above, though they are not identical):
Software patents granted 1990 - 1992
------------------------------------
IBM 500 Fujitsu 50 Lotus 7
Hitachi 400 HP 50 Novell 1
AT&T/Bell 150 Sun 50 Borland 0
DEC 150 Unisys 30 NeXT 0
Toshiba 150 Apple 20 Oracle 0
Sharp 100 Texas Inst. 20 Pyramid 0
Xerox 100 Microsoft 13 SGI 0
Canon 70 Intel 10 Sybase 0
Motorola 70 Matsushita 9 Symantec 0
Wang 60 Adobe 8 WordPerfect 0
Total software patents granted (1990 - 1992): 5000
Entities with fewer than 5 s/w patents: 1000
Entities with 5 or more s/w patents: 60
Because of the way patents are classified it is very difficult to
gather accurate data on how many software patents exist. Also
differences of opinion as to what precisely constitutes a software
patent can also muddy things. The above data is indicative of the
overall situation, but individual figures may have errors of anywhere
up to 50%.
The above table tends to suggest a significantly negative correlation
between the number of software patents granted to a company and its
ability to bring innovative software products to market. Companies
that form the backbone of the software industry: Microsoft, Adobe,
Lotus, Novell, Borland, Oracle, and Sybase, have relatively few
software patents, while companies that hardly market any software:
Hitachi, AT&T, Toshiba, Sharp, and Xerox, have many.
As an example of this, consider Sun's Network File System, NFS, which
Sun designed and developed, which was for its time a highly innovative
product, and which went on to become the standard file service
protocol throughout the Unix industry. Although far from conclusive,
a search for the string "NFS" on a small database of some 2000 patent
abstracts which one of the authors maintains turned up five patents
assigned to IBM, one to Auspex, and none to Sun. This is despite the
fact that Sun developed NFS, and the other two companies have engaged
in no more than the most trivial of tinkering around the edges.
When asked to name some companies responsible for the production of
innovative software, Hitachi isn't one of the companies most people
immediately think of.
IBM has a very strong software patent portfolio. It is over-sized
even in proportion to the size of IBM itself. This is a result of
IBM's patenting every single trivial idea every employee ever comes up
with, rather than having any great propensity to be truly innovative.
IBM has never been considered synonymous with innovative software.
IBM even has a patent, #5,247,661, on a software application to permit
employees to automatically document ideas for later patenting.
Fortunately, when IBM was being investigated for anti-trust (some time
ago) it issued a consent degree permitting the automatic licensing of
its patent portfolio. As a result any one patent can be licensed for
1% of royalties, and the entire suite for 5%. In this regard the
downsizing of IBM that is currently occurring is cause for
considerable concern. If IBM ever feels free to start exercising its
full powers, its patent portfolio could pose a considerable threat to
the entire computer industry. It has already recently increased the
fee to automatically license its entire suite from 3% to 5%. The
possibility of IBM selling off various divisions or deciding to break
up is also cause for concern. A worst case scenario as far as the
rest of the computer industry is concerned would involve some or all
of IBM's patents winding up in a company that produces few or no real
products.
None of the hardware or software companies that collectively
constituted the "microcomputer revolution" hold significant numbers of
software patents. Companies such as Microsoft, Borland, Novell,
Adobe, Lotus, NeXT, Intel, Apple, Sun, and SGI all have relatively
weak software patent portfolios. These are the companies that have
created wealth in the computer industry over the last ten years by
developing new and innovative products. They are very much
responsible for turning the industry into the vibrant place it is
today. Without these companies, the software industry would be
virtually non-existent.
Between 1990 and 1992, software patents were granted to roughly 1,000
different people and organizations. This tends to confirm the theory
that entities that individually play only a very small role in the
overall software industry will be able to obtain patents on various
key software techniques.
APPENDIX E: OPPOSITION TO SOFTWARE PATENTS
==========================================
Articles discussing the threat posed by software patents have appeared
in numerous newspapers including the New York Times, Wall Street
Journal, and Washington Post.
Pamela Samuelson, Professor at the University of Pittsburgh School of
Law, and Brian Kahin, Adjunct Research Fellow at Harvard's Kennedy
School of Government, are both speaking eloquently against the current
patent office policy and practice of patenting software.
Surveys by organizations such as the Association for Computing
Machinery show a strong opposition to software patents amongst its
members. Many academic computer scientists are willing to speak out
against software patents.
Wordperfect Corporation has expressed considerable concern regarding
software patents. They currently receive an average of one letter a
month alleging patent infringement and threatening legal action. This
is probably not atypical for a large software corporation.
Mitch Kapor, the original founder of Lotus, recently attested before
Congress as to the danger software patents pose (see Appendix G).
Phillipe Kahn, president of Borland International, is known to share
similar concerns.
"I'm kind of scared about the climate for the next 10 years" says Dan
Bricklin, co-inventor of VisiCalc, the world's first electronic
spreadsheet.
Jim Warren, founder of InfoWorld, is likewise equally strongly opposed
to the patenting of software related inventions.
Oracle Corporation recently issued a detailed statement opposing the
granting of patents on software (see Appendix F).
Autodesk is also about to issue a statement against software patents.
APPENDIX F: ORACLE'S POLICY ON SOFTWARE PATENTS
===============================================
The following statement on software patents was released by Oracle
Corporation, a major database vendor:
Oracle Corporation opposes the patentability of software. The Company
believes that existing copyright law and available trade secret
protections, as opposed to patent law, are better suited to protecting
computer software developments.
Patent law provides to inventors an exclusive right to new technology
in return for publication of the technology. This is not appropriate
for industries such as software development in which innovations occur
rapidly, can be made without a substantial capital investment, and
tend to be creative combinations of previously-known techniques.
Even if patent law were appropriate for protection of software, due to
the large volume of recently-granted software patents and the rising
number of new applications, the current patent process would continue
to be troublesome for the software industry. Software patent
examinations are hindered by the limited capability of searching prior
art, by the turnover rate among examiners in the Patent and Trademark
Office, and by the confusion surrounding novelty and innovation in the
software arena. The problem is exacerbated by varying international
patent laws, which both raise the cost and confuse the issue of patent
protection.
Unfortunately, as a defensive strategy, Oracle has been forced to
protect itself by selectively applying for patents which will present
the best opportunities for cross-licensing between Oracle and other
companies who may allege patent infringement.
COMPUTER SOFTWARE POLICY ISSUES
The policy rationale for patent protection in many industries is
understandable. In exchange for making an invention available to the
public, inventors are rewarded with a seventeen-year monopoly giving
them exclusive right to the new technology. In such cases, this
opportunity to monopolize the commercial application of the invention
is justified as an appropriate reward given the capital resources
dedicated by the inventor to the invention, including time and money
spent in innovation, production, distribution, etc.
This policy, however, does not fit well with the software industry.
Unlike many manufacturing-intensive industries, the development of
software requires a minimum of capital investment. Producing and
distributing a product is simpler, faster, and less expensive in the
software industry than in manufacturing sectors. New developments
influential to the software industry frequently emanate from
individuals and small companies that lack substantial resources.
Software varies from manufacturing in another key aspect. The
engineering and mechanical inventions for which patent protection was
devised are often characterized by large "building block" inventions
that can revolutionize a given mechanical process. Software,
especially a complex program, seldom includes substantial leaps in
technology, but rather consists of adept combinations of many ideas.
Whether a software program is a good one does not generally depend as
much on the newness of a specific technique, but instead depends on
the unique combination of known algorithms and methods. Patents
should not protect such methods of innovation.
The U.S. software industry has evolved to a multi-billion dollar
industry that leads the world in productivity, and accounts for
substantial portion of U.S. GNP. The software industry has advanced
the efficiency of other industries through the proliferation of
computing and computer-controlled processes. All of these gains have
come prior to the application of the patent process to software, and
consequently without patent protection for software. There is no
justification for a policy that would not only drain capital resources
(which are better spent on software development) into patent
applications and other legal fees, and also actually serve to reduce
innovation by limiting the availability of previously-developed
techniques.
In sixteen years, Oracle Corporation has grown from a start-up company
with a handful of employees to the world's third-largest independent
software producer employing 8,000 people. Oracle filed its first
patent application in November 1991, not because it felt that its
software was suddenly worthy of patent protection; it filed that
application because of concerns that other inventors, afforded patent
protection by a flawed patent system, might find themselves in a
position to seriously weaken the Company's competitive edge by
alleging patent infringement. Even if Oracle had developed a certain
invention first and could produce the appropriate prior art to prove
its case, thousands of dollars in attorneys fees and other expenses
would be spent in defense of its rightfully-owned technology. Oracle
consequently believes that it must have a patent portfolio with which
to respond to potential aggressors, so as to settle with them by
cross-licensing to avoid litigation. Oracle is forced to channel a
significant portion of its financial resources into patent protection
of its assets, rather than using those resources in further innovating
and expanding its computer software products.
Copyright protection for computer software is sufficient to preserve
the rights of software developers, who rely on the unique combination
of algorithms and techniques to produce successful software programs.
Copyright law, including relief from those who copy or distribute
copyrighted works without permission, in combination with careful
handling taken to preserve trade secrets, has afforded adequate
protection to software developers against the losses they may
encounter from the wrongful use of their software. Compared to
adequate copyright and trade secret protections, patent protection is
excessively broad and enormously expensive.
CHANGING THE PATENT SYSTEM
Oracle has recommended that patent protection not be provided for
computer software or computer software algorithms, for the reasons
described above.
If software continues to be protected by patent law, however, we
recommend the changes described in the following paragraphs. These
recommendations in no way endorse the use of patents for protecting
software, but rather serve to assuage the existing problems if patents
must ultimately affect software development.
Patent law should be consistent throughout the world and, if it is to
be applicable to software, should extend for much shorter periods of
protection than exist now, unified prior art searching capabilities,
equal standards of novelty, the elimination of patent rules that allow
"patent flooding," and identical standards for prior use restrictions
(bar dates).
The evolution of software moves very quickly. The term of software
protection should be cut back accordingly, from the current 17 years
from grant date to three years from application date (the application
period must be drastically reduced). A balance of fifty years
protection for direct copying of code would continue to be provided by
copyright law.
If the patent system is to remain an entrenched part of the software
industry, then the following changes need to be made:
* The prior art capabilities of PTO records must be vastly
improved to confirm effectively the novelty and non-obviousness of
software patent that is the subject of applications. New
classifications, as well as an effort to record the current state
of prior art would be necessary.
* Because of the unusual speed with which software innovations are
incorporated into products, the PTO's patent review process must
be made much more efficient so that it takes no more than six
months from application to registration. In the software
industry, if a patent application takes two years to process, the
patented "invention" is often either widely used or obsolete by
the time the registration is issued.
* Examiners skilled in computer science and software programming
must be trained on the nature of software inventions, and the
state of existing art. Qualified examiners must be hired and
retained by the PTO at much higher rates than they are today.
Compensation rates equal to those provided by industry are
essential to recruit qualified personnel.
* The PTO, in conjunction with industry, must establish additional
committees to clearly delineate the standards of novelty and
non-obviousness that will be required for software inventions to
receive patents.
APPENDIX G: MITCH KAPOR'S CONGRESSIONAL TESTIMONY
=================================================
The following is an extract from the testimony of Mitch Kapor, founder
of Lotus, to a congressional hearing:
I want to thank the Committee for this opportunity to testify on some
of the intellectual property questions surrounding software. This is
an area that I personally find fascinating and provocative - so please
excuse me if my testimony ends up leaving you with more questions than
answers.
With no joke intended, software has been very, very good to me. I was
fortunate enough to find a collaborator to craft an innovative piece
of software called Lotus 1-2-3 - and that software evolved into both
an industry standard and turned Lotus Development Corp. into one of
America's most successful software companies.
Because it is impossible to know what patent applications are in the
application pipeline, it is entirely possible, even likely, to develop
software which incorporates features that are the subject of another
firm's patent application. Thus, there is no avoiding the risk of
inadvertently finding oneself being accused of a patent infringement
simply because no information was publicly available at the time which
could have offered guidance of what to avoid. Please, require
publication of patent application within a short period of their
filing.
The period of patent protection, 17 years, no longer makes sense in an
era when an entire generation of technology passes within a few years.
My recommendation would be to consider substantially shortening the
length of protection.
Most importantly, it is my heartfelt belief that many of the
increasing number of recently issued software patents, concerning, for
instance, fundamental techniques and artifacts of user interfaces,
should never have been granted in the first place because of their
failure to qualify as either novel or non-obvious. Some patents
appear to preempt automation of common functions such as footnoting.
This to me is like allowing a patent on the round steering wheel. The
breadth of claims being allowed in these matters, is, in the words of
Brian Kahin, Adjunct Research Fellow at Harvard's Kennedy School of
Government, "often at a level of abstraction that is shocking to the
uninitiated."
If some future litigant is successful in upholding rights to one of
these "bad" patents It will require expensive and time-consuming
litigation, whose outcome is frankly uncertain, to defend the rights
of creators which should never have been challenged in the first
place. If I speak very bluntly here, it is only because I am deeply
concerned that a single bad patent court fight with a negative
outcome, like a major environmental accident, could have catastrophic
effects. I don't think we can afford the risk.
APPENDIX H: ABOUT THE LEAGUE FOR PROGRAMMING FREEDOM
====================================================
Ten years ago, it was possible to develop software using any
techniques known, and providing whatever features were useful. This
is no longer the case. New legal precedents have resulted in software
patents and interface copyrights both of which now prevent this.
"Look and feel" lawsuits attempt to monopolize well-known command
languages; some have succeeded. Copyrights on command languages
enforce gratuitous incompatibility, close opportunities for
competition, and stifle incremental improvements.
Software patents are even more dangerous; they make every design
decision in the development of a program carry a risk of a lawsuit,
with draconian pretrial seizure. It is difficult and expensive to
find out whether the techniques you consider using are patented; it is
impossible to find out whether they will be patented in the future.
The League for Programming Freedom is an organization of over 600
software developers, business people, professors, students, and users
dedicated to restoring the pre-existing freedom to develop software.
The League is not opposed to the legal system that Congress intended
--- copyright on individual programs. Its aim is to reverse recent
changes that run contrary to the public interest principles of the
Constitution.
The League works to abolish these new monopolies by publishing
articles, talking with public officials, working with companies,
assisting in court cases, and serving as a point of contact.
The League may be contacted by phone: (617) 621-7084, by electronic
mail: lpf@uunet.uu.net, or by post:
League for Programming Freedom
1 Kendall Square #143
P.O. Box 9171
Cambridge, MA 02139
The League is always happy to assist those threatended or concerned
about the above issues, or to simply provide further information on
these matters to any party that may be interested.
APPENDIX I: ABOUT THIS DOCUMENT
===============================
Version 1.3 of January 25, 1994.
Copyright (C) Gordon Irlam and Ross N. Williams, 1994.
Assistance: James Salsman, Lile Elam, and Paul Rubin.
This document represents the opinions of the LPF.
Reproduction of this document is permitted.
Gordon Irlam Ross N. Williams
League for Programming Freedom Rocksoft(tm)
(415) 336-5889 +61 8 379-9217
gordoni@netcom.com ross@guest.adelaide.edu.au
Gordon Irlam is a software developer at Sun Microsystems. He is in
the Systems Architecture and Performance group where he is currently
developing a microprocessor simulator to gather data needed to help
design future hardware. He is a member of the American Economic
Association, has a personal interest in information economics, and has
been observing software patent developments for over four years.
Dr Ross N. Williams is an independent consultant and software
developer, specializing in the areas of data integrity and data
compression. In addition to developing a data integrity product, Dr
Williams has been working as a consultant to Microsoft on the Stac vs
Microsoft software patent lawsuit.